Skip to content

Conversation

@d-philpot
Copy link
Contributor

This PR adds support for the MSPM0G51xx family of SoCs. Adds necessary dts, kconfig, and board files for this family. Also includes updates to the serial driver to account the new communication peripheral in this family: UNICOMM.

In flight PR includes necessary SDK and pinctrl hal changes.

Signed-off-by: Dylan Philpot <[email protected]>
Adds relevant SOC defines for MSPM0G51xx family.

Signed-off-by: Dylan Philpot <[email protected]>
Includes devices tree files for MSPM0G51xx family.

Signed-off-by: Dylan Philpot <[email protected]>
Adds dts, yaml, and support files for the MSPM0G5187 launchpad.

Signed-off-by: Dylan Philpot <[email protected]>
Adding UNICOMM_Inst_Regs to typedef to avoid compliance
errors regarding consistent spacing '*'

Signed-off-by: Dylan Philpot <[email protected]>
UART on the MSPM0G51xx family is part of a singular
comm peripheral (UNICOMM). Functionality is the same but
requires additional overhead of managing the register type
and include paths.

Signed-off-by: Dylan Philpot <[email protected]>
Adds IOMUX look up table for MSPM0G51xx family
to GPIO driver.

Signed-off-by: Dylan Philpot <[email protected]>
@github-actions
Copy link

The following west manifest projects have changed revision in this Pull Request:

Name Old Revision New Revision Diff
hal_ti zephyrproject-rtos/hal_ti@cc04902 zephyrproject-rtos/hal_ti#74 zephyrproject-rtos/hal_ti#74/files

DNM label due to: 1 project with PR revision

Note: This message is automatically posted and updated by the Manifest GitHub Action.

@github-actions github-actions bot added manifest manifest-hal_ti DNM (manifest) This PR should not be merged (controlled by action-manifest) labels Nov 13, 2025
@dsseng dsseng self-requested a review November 13, 2025 21:41
Copy link
Member

@dsseng dsseng left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks, please see some minor comments

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything looks shared with mspm0g5117.dtsi

Could you please consider moving these definitions into a shared file of extend 5187 from 5117

Please disregard this comment if these SoCs will diverge vastly once more peripherals are added in

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not a person responsible for this, but maybe this image is of too high resolution. @kartben should the board image be under ca 500 KiB?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this needs to be about 50KiB or so

@sonarqubecloud
Copy link

Comment on lines +13 to +14
config HAS_MSP_UNICOMM
bool
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

has no place in this file

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nordicjm can you elaborate?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this needs to be about 50KiB or so


leds {
compatible = "gpio-leds";
led0: led_0 {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this file is non compliant with the dts requirements

Comment on lines +84 to +92
#if CONFIG_SOC_MSPM0G5187
static uint8_t gpiob_pincm_lut[NUM_GPIOB_PIN] = {
IOMUX_PINCM12, IOMUX_PINCM13, IOMUX_PINCM15, IOMUX_PINCM16, IOMUX_PINCM17,
IOMUX_PINCM18, IOMUX_PINCM23, IOMUX_PINCM24, IOMUX_PINCM25, IOMUX_PINCM26,
IOMUX_PINCM27, IOMUX_PINCM28, IOMUX_PINCM29, IOMUX_PINCM30, IOMUX_PINCM31,
IOMUX_PINCM32, IOMUX_PINCM33, IOMUX_PINCM43, IOMUX_PINCM44, IOMUX_PINCM45,
IOMUX_PINCM48, IOMUX_PINCM49, IOMUX_PINCM50, IOMUX_PINCM51, IOMUX_PINCM52,
IOMUX_PINCM56
};

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not necessarily requesting any action at the moment, but I had to make similar updates for port B and port C pins for MSPM0G3519 SOC with 100-pin package. It could get ugly if people just start adding SOC-specific definitions here...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree. This keeps expanding for each series. Not nice for longer run, we need better approach.

Copy link
Member

@parthitce parthitce left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reorder the commit of serial before using it.

Pwm
FILE
NRF_GPIO_Type
UNICOMM_Inst_Regs
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not related to this PR. IMO this needs to be separate PR

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is the first to introduce UNICOMM_Inst_Regs, so I believe it is relevant. The complaince checks will not pass without it.

@@ -0,0 +1,16 @@
/* SPDX-License-Identifier: Apache-2.0 */
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add copyright, applies to all placed

config USE_MSPM0_DL_UART
bool

config USE_MSPM0_DL_UNICOMM_UART
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

never used but defined?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is used in the kconfig of the serial driver to pull in the correct APIs from the hal.

Comment on lines +84 to +92
#if CONFIG_SOC_MSPM0G5187
static uint8_t gpiob_pincm_lut[NUM_GPIOB_PIN] = {
IOMUX_PINCM12, IOMUX_PINCM13, IOMUX_PINCM15, IOMUX_PINCM16, IOMUX_PINCM17,
IOMUX_PINCM18, IOMUX_PINCM23, IOMUX_PINCM24, IOMUX_PINCM25, IOMUX_PINCM26,
IOMUX_PINCM27, IOMUX_PINCM28, IOMUX_PINCM29, IOMUX_PINCM30, IOMUX_PINCM31,
IOMUX_PINCM32, IOMUX_PINCM33, IOMUX_PINCM43, IOMUX_PINCM44, IOMUX_PINCM45,
IOMUX_PINCM48, IOMUX_PINCM49, IOMUX_PINCM50, IOMUX_PINCM51, IOMUX_PINCM52,
IOMUX_PINCM56
};
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree. This keeps expanding for each series. Not nice for longer run, we need better approach.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: Boards/SoCs area: GPIO area: Linters area: UART Universal Asynchronous Receiver-Transmitter DNM (manifest) This PR should not be merged (controlled by action-manifest) manifest manifest-hal_ti platform: Texas Instruments MSPM0 platform: TI Texas Instruments

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants